Yiksan0315's Blog

Transformer

# Tag:

  • Source/KU_ML2

Transformer

Self-Attention을 이용하는 Encoder-Decoder model.

RNN기반의 Attention 메커니즘은 병렬 처리가 불가능했으나, Transformer 모델은 Self-Attention을 통한 병렬 처리로 높은 성능 향상을 보여주었다.

이전의 hidden state가 계산되지 않으면 현재 hidden state가 계산 불가능해 순차적으로 처리하던 RNN과 달리, Positional Encoding을 통해 각각의 sequence의 위치를 알고 있어 전체적으로 한번에 계산 가능하게 되므로 병렬 처리가 가능하다.

Positional Encoding

입력 데이터의 순서(pos)를 데이터에 반영하여 model의 input에 더한다.

:when is dimension, is time.

만약 순서를 반영하지 않을 경우, 순서를 바꾸어도 동일한 Attention이 나오게 된다.
Sequence data에서는 순서가 중요한 의미를 지니므로, 이를 방지하기 위해 사용한다.

이를 통해 모든 time, dimension마다 다른 값의 Positional Encoding을 추가해 위치 정보를 알아낼 수 있도록 하낟.

Structure

Self-Attention

입력값, 출력값끼리 attention을 수행.

  1. Encoder self-attention
  2. Masked decoder self-attenton: 뒤에 있는 sequence에서 앞에 있는 sequence만을 참조하는 것으로, 출력이 다시 입력으로 들어오는 구조이므로 앞에 만을 참조 가능하다.

Cross-Attention

입력값과 출력값 간의 attention을 수행.

Encoder-Decoder attention

Multi-Head Attention

입력 sequence에서 중요한 sequence를 여러 개 찾기 위해 사용.

Ensemble 개념과 유사하며, Value, Key, Query를 N개의 각각 다른 matrix로 곱하여 서로 다른 N개의 Value, Key, Query를 생성 후 개별적으로 Attention을 수행한다.

마지막에 N개의 state를 concatenate한 후 matrix 연산을 이용해 Linear Transformation을 통해 최종 Context Vector를 계산한다.

Add & norm

ResNet의 residual connection의 개념을 이용해 더 깊은 layer를 쌓을 수 있도록 한다.

Multi-Head Attention을 통해 계산한 Contect Vector와 입력값을 단순히 더한 후 normalization을 수행한다.

Feed Forward

두 개의 layer로 구성된 MLP.

Attention만으로 부족한 Nonlinearity를 더 활용하기 위해 추가한다.

toc test

이 페이지는 리디주식회사에서 제공한 리디바탕 글꼴이 사용되어 있습니다. 리디바탕의 저작권은 리디주식회사가 소유하고 있습니다.

This Font Software is licensed under the SIL Open Font License, Version 1.1.

Copyright 2025. yiksan0315 All rights reserved.